package com.dayuan.dao;/**
						* 通过商品名称关键字 模糊查询商品信息集合
						* 
						* @param goodsName
						* @return
						*/

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan;

import com.dayuan.bean.Goods;

@MapperScan
public interface GoodsMapper {

	int total(Goods good);

	/**
	 * 查询商家所有商品，根据商品名查询，根据id查询
	 * 
	 * @param good
	 * @return
	 */
	List<Goods> selectSellerGoods(@Param("goods") Goods goods, @Param("startIndex") Integer startIndex,
			@Param("pageNum") Integer pageNum);

	/**
	 * 通过商品名称关键字 模糊查询商品信息集合
	 * 
	 * @param goodsName
	 * @return
	 */
	public List<Goods> selectGoodsByParam(@Param("goodsName") String goodsName);

	/**
	 * 通过商品id 精确查询商品信息
	 * 
	 * @param goodsId
	 * @return
	 */
	public Goods selectGoodsById(@Param("goodsId") Long goodsId);

	/**
	 * 通过商家id 查询商品信息集合
	 * 
	 * @param merchantId
	 * @return
	 */
	public List<Goods> selectGoodsByMerchantId(@Param("merchantId") Integer merchantId);

	/**
	 * 查询总行数
	 * 
	 * @return
	 */
	public int selectCountGoodsByParam();

	/**
	 * 按页查询
	 * 
	 * @param startIndex
	 * @param pageNum
	 * @return
	 */
	public List<Goods> selectCountGoodsByParamForPage(@Param("startIndex") Integer startIndex,
			@Param("pageNum") Integer pageNum);

	/**
	 * 删除商品
	 * 
	 * @param startIndex
	 * @param pageNum
	 * @return
	 */
	public int deletegoodById(@Param("id") Long id, @Param("merchantId") Integer merchantId);

	/**
	 * 动态 添加 商品
	 * 
	 * @param goods
	 * @return
	 */
	public int insertGoodsSelective(Goods goods);

	/**
	 * 动态 更改 商品信息
	 * 
	 * @param goods
	 * @return
	 */
	public int updateGoodsByParams(Goods goods);

	/**
	 * 根据不同条件，删除商品
	 * 
	 * @param goods
	 * @return
	 */
	public int deleteGoodsByParam(Goods goods);
}
